package com.ruoyi.period.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 员工对象 employees
 * 
 * @author ruoyi
 * @date 2021-11-07
 */
public class Employees extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 员工工号 */
    @Excel(name = "员工工号")
    private String employeeNumber;

    /** 登陆账号 */
    @Excel(name = "登陆账号")
    private String loginAccount;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickname;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 员工性质 */
    @Excel(name = "员工性质")
    private String natureEmployees;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String documentType;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String idNumber;

    /** 身份证有效期 */
    @Excel(name = "身份证有效期")
    private String idCardAlidityPeriod;

    /** 性别 */
    @Excel(name = "性别")
    private String gender;

    /** 出生日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthDate;

    /** 首次参加工作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首次参加工作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date firstWorkTime;

    /** 民族 */
    @Excel(name = "民族")
    private String nation;

    /** 账号状态 */
    @Excel(name = "账号状态")
    private String accountStatus;

    /** 政治面貌 */
    @Excel(name = "政治面貌")
    private String politicalStatus;

    /** 职称 */
    @Excel(name = "职称")
    private String professionalTitle;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phoneNumber;

    /** 邮箱 */
    @Excel(name = "邮箱")
    private String mailbox;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private String affiliatedFunction;

    /** 家庭住址 */
    @Excel(name = "家庭住址")
    private String homeAddress;

    /** 个人简介 */
    @Excel(name = "个人简介")
    private String personalProfile;

    /** 职务 */
    @Excel(name = "职务")
    private String position;

    /** 入职日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date entryDate;

    /** 工作年限 */
    @Excel(name = "工作年限")
    private String workingYears;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setEmployeeNumber(String employeeNumber) 
    {
        this.employeeNumber = employeeNumber;
    }

    public String getEmployeeNumber() 
    {
        return employeeNumber;
    }
    public void setLoginAccount(String loginAccount) 
    {
        this.loginAccount = loginAccount;
    }

    public String getLoginAccount() 
    {
        return loginAccount;
    }
    public void setNickname(String nickname) 
    {
        this.nickname = nickname;
    }

    public String getNickname() 
    {
        return nickname;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setRealName(String realName) 
    {
        this.realName = realName;
    }

    public String getRealName() 
    {
        return realName;
    }
    public void setNatureEmployees(String natureEmployees) 
    {
        this.natureEmployees = natureEmployees;
    }

    public String getNatureEmployees() 
    {
        return natureEmployees;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setIdNumber(String idNumber) 
    {
        this.idNumber = idNumber;
    }

    public String getIdNumber() 
    {
        return idNumber;
    }
    public void setIdCardAlidityPeriod(String idCardAlidityPeriod) 
    {
        this.idCardAlidityPeriod = idCardAlidityPeriod;
    }

    public String getIdCardAlidityPeriod() 
    {
        return idCardAlidityPeriod;
    }
    public void setGender(String gender) 
    {
        this.gender = gender;
    }

    public String getGender() 
    {
        return gender;
    }
    public void setBirthDate(Date birthDate) 
    {
        this.birthDate = birthDate;
    }

    public Date getBirthDate() 
    {
        return birthDate;
    }
    public void setFirstWorkTime(Date firstWorkTime) 
    {
        this.firstWorkTime = firstWorkTime;
    }

    public Date getFirstWorkTime() 
    {
        return firstWorkTime;
    }
    public void setNation(String nation) 
    {
        this.nation = nation;
    }

    public String getNation() 
    {
        return nation;
    }
    public void setAccountStatus(String accountStatus) 
    {
        this.accountStatus = accountStatus;
    }

    public String getAccountStatus() 
    {
        return accountStatus;
    }
    public void setPoliticalStatus(String politicalStatus) 
    {
        this.politicalStatus = politicalStatus;
    }

    public String getPoliticalStatus() 
    {
        return politicalStatus;
    }
    public void setProfessionalTitle(String professionalTitle) 
    {
        this.professionalTitle = professionalTitle;
    }

    public String getProfessionalTitle() 
    {
        return professionalTitle;
    }
    public void setPhoneNumber(String phoneNumber) 
    {
        this.phoneNumber = phoneNumber;
    }

    public String getPhoneNumber() 
    {
        return phoneNumber;
    }
    public void setMailbox(String mailbox) 
    {
        this.mailbox = mailbox;
    }

    public String getMailbox() 
    {
        return mailbox;
    }
    public void setAffiliatedFunction(String affiliatedFunction) 
    {
        this.affiliatedFunction = affiliatedFunction;
    }

    public String getAffiliatedFunction() 
    {
        return affiliatedFunction;
    }
    public void setHomeAddress(String homeAddress) 
    {
        this.homeAddress = homeAddress;
    }

    public String getHomeAddress() 
    {
        return homeAddress;
    }
    public void setPersonalProfile(String personalProfile) 
    {
        this.personalProfile = personalProfile;
    }

    public String getPersonalProfile() 
    {
        return personalProfile;
    }
    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }
    public void setEntryDate(Date entryDate) 
    {
        this.entryDate = entryDate;
    }

    public Date getEntryDate() 
    {
        return entryDate;
    }
    public void setWorkingYears(String workingYears) 
    {
        this.workingYears = workingYears;
    }

    public String getWorkingYears() 
    {
        return workingYears;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("employeeNumber", getEmployeeNumber())
            .append("loginAccount", getLoginAccount())
            .append("nickname", getNickname())
            .append("password", getPassword())
            .append("realName", getRealName())
            .append("natureEmployees", getNatureEmployees())
            .append("documentType", getDocumentType())
            .append("idNumber", getIdNumber())
            .append("idCardAlidityPeriod", getIdCardAlidityPeriod())
            .append("gender", getGender())
            .append("birthDate", getBirthDate())
            .append("firstWorkTime", getFirstWorkTime())
            .append("nation", getNation())
            .append("accountStatus", getAccountStatus())
            .append("politicalStatus", getPoliticalStatus())
            .append("professionalTitle", getProfessionalTitle())
            .append("phoneNumber", getPhoneNumber())
            .append("mailbox", getMailbox())
            .append("affiliatedFunction", getAffiliatedFunction())
            .append("homeAddress", getHomeAddress())
            .append("personalProfile", getPersonalProfile())
            .append("position", getPosition())
            .append("entryDate", getEntryDate())
            .append("workingYears", getWorkingYears())
            .toString();
    }
}
